using System;
using System.Collections.Generic;
using System.Text;

namespace InfiniTec.DirectoryServices
{
    /// <summary>
    /// Specifies the various results of a translation operation.
    /// </summary>
    public enum TranslationStatus
    {
        /// <summary>
        /// The entry has been successfully translated
        /// </summary>
        Success = 0x0,
        /// <summary>
        /// A generic processing error occurred
        /// </summary>
        GenericFailure = 0x1,
        /// <summary>
        /// The name cannot be found or the caller does not have permission to access the name
        /// </summary>
        NotFound = 0x2,
        /// <summary>
        /// The input name is mapped to more than one output name or the desired format did not have a single, unique value for the object found.
        /// </summary>
        NotUnique = 0x3,
        /// <summary>
        /// The input name was found, but the associated output format cannot be found. This can occur if the object does not have all the required attributes.
        /// </summary>
        NoMappings = 0x4,
        /// <summary>
        /// Unable to resolve entire name, but was able to determine in which domain object resides. 
        /// The caller is expected to retry the call at a domain controller for the specified 
        /// domain. The entire name cannot be resolved, but the domain that the object resides 
        /// in could be determined. See the Domain property in the <see cref="TranslationResult"/> class.
        /// </summary>
        DomainOnly = 0x5,
        /// <summary>
        /// A syntactical mapping cannot be performed on the client without transmitting over the network.
        /// </summary>
        NoSyntacticalMappings = 0x6,
        /// <summary>
        /// The name is from an external trusted forest.
        /// </summary>
        TrustReferral = 0x7
    }
}
